package com.ssf.domain.strategy.service.armory;

import com.ssf.domain.strategy.model.entity.StrategyAwardEntity;

import java.util.List;

/**
 * 抽奖策略装配
 */
public interface IStrategyArmory {
    /**
     * 根据策略id，构造不同权重对应奖品的抽奖map，并缓存到redis中
     * @param strategyId 策略id
     */
    void assembleStrategy(Long strategyId);

    /**
     * 根据策略奖品实体构造对应抽奖map，并缓存到reids中
     * @param key "策略id_权重"/"策略id"，用于组成rediskey的后半部分
     * @param strategyAwardEntities 策略奖品实体
     */
    void assembleStrategy(String key, List<StrategyAwardEntity> strategyAwardEntities);
}
